package com.neusoft.util;

/**
 * HTTP摘要认证参数常量类
 * @author 郑兴龙 zheng-xl@neusoft.com
 *
 */
public class AuthorizationConstants
{
    /** HTTP响应消息头 SERVER_KEY */
    public static final String RESPONSE_HEADER_SERVER_KEY = "Server";
    
    /** HTTP响应消息头Server_VALUE */
    public static final String RESPONSE_HEADER_SERVER_VALUE = "Huawei SCC/V100R001C21";
    
    /** HTTP请求消息头Server_VALUE */
    public static final String REQUEST_HEADER_USER_AGENT_VALUE = "Huawei CU/V100R001C21";
    
    /** HTTP请求消息头HTTP_VERSION */
    public static final String REQUEST_HEADER_HTTP_VERSION_KEY = "HTTP-Version";
    
    /** HTTP请求消息头HTTP_VERSION_VALUE */
    public static final String REQUEST_HEADER_HTTP_VERSION_VALUE = "1.1";
    
    /** HTTP请求消息头REQ_URI */
    public static final String REQUEST_HEADER_REQ_URI_KEY = "Request-URI";
    
    /** HTTP请求消息头Host */
    public static final String REQUEST_HEADER_HOST_KEY = "Host";
    
    /** HTTP请求消息头User-Agent */
    public static final String REQUEST_HEADER_USER_AGENT_KEY = "User-Agent";
    
    /** HTTP请求消息头Accept */
    public static final String REQUEST_HEADER_ACCEPT_KEY = "Accept";
    
    /** HTTP请求消息头Accept */
    public static final String REQUEST_HEADER_ACCEPT_VALUE = "application/xml";
    
    /** HTTP响应消息头 DATE_KEY */
    public static final String RESPONSE_HEADER_DATE_KEY = "Date";
    
    /** HTTP响应消息头 CONTENT_LENGTH_KEY */
    public static final String RESPONSE_HEADER_CONTENT_LENGTH_KEY = "Content-Length";
    
    /** HTTP响应消息头 CONNECTION_KEY */
    public static final String RESPONSE_HEADER_CONNECTION_KEY = "Connection";
    
    /** HTTP响应消息头 CONTENT_TYPE_KEY */
    public static final String RESPONSE_HEADER_CONTENT_TYPE_KEY = "Content-Type";
    
    /** HTTP响应消息头 AUTHORIZATION_KEY */
    public static final String RESPONSE_HEADER_AUTHORIZATION_KEY = "Authorization";
    
    /** HTTP响应消息头 平台响应为401时的AUTHORIZATION_KEY */
    public static final String RESPONSE_HEADER_AUTHORIZATION_KEY_RESP_401 = "WWW-Authenticate";
    
    /** 截取NONCE_VALUE时的字符串开始位置 */
    public static final String AUTHORIZATION_NONCE_VALUE_BEGIN = "nonce=\"";
    
    /** 截取NONCE_VALUE时的字符串结束位置 */
    public static final String AUTHORIZATION_NONCE_VALUE_END = "\"";
    
    /** HTTP响应消息头 平台响应为200时的 AUTHORIZATION_KEY */
    public static final String RESPONSE_HEADER_AUTHORIZATION_KEY_RESP_200 = "Authentication-Info";
    
    /** 截取NEXT_NONCE_VALUE时的字符串开始位置 */
    public static final String AUTHORIZATION_NEXT_NONCE_VALUE_BEGIN = "nextnonce=\"";
    
    /** 截取NEXT_NONCE_VALUE时的字符串结束位置 */
    public static final String AUTHORIZATION_NEXT_NONCE_VALUE_END = "\"";
    
    /** Digest认证的域 */
    public static final String AUTHORIZATION_REALM_VALUE = "huawei.com";
    
    /** Digest认证的用户名 */
    public static final String AUTHORIZATION_USER_VALUE = "ivs@huawei.com";
    
    /** Digest认证的密码 */
    public static final String AUTHORIZATION_KEY_VALUE = "eivs";
    
    /** Digest认证的指定客户端对该消息应用的保护等级 */
    public static final String AUTHORIZATION_QOP_VALUE = "auth";
    
    /** Digest认证的客户端用来鉴定服务器的摘要质询参数 */
    public static final String AUTHORIZATION_CNONCE_VALUE = "00000000000000000000000000000000";
    
    /** Digest认证的用来产生摘要及校验和的算法 */
    public static final String AUTHORIZATION_ALGORITHM_VALUE = "MD5";
    
    /** Digest认证的opaque */
    public static final String AUTHORIZATION_OPAQUE_VALUE = "http";
    
    /** nonce key */
    public static final String AUTHORIZATION_NONCE_KEY = "nonce";
    
    /** realm key */
    public static final String AUTHORIZATION_REALM_KEY = "realm";
    
    /** opaque key */
    public static final String AUTHORIZATION_OPAQUE_KEY = "opaque";
    
    /** algorithm key */
    public static final String AUTHORIZATION_ALGORITHM_KEY = "algorithm";
    
    /** qop key */
    public static final String AUTHORIZATION_QOP_KEY = "qop";
    
    /** username key */
    public static final String AUTHORIZATION_USERNAME_KEY = "username";
    
    /** uri key */
    public static final String AUTHORIZATION_URI_KEY = "uri";
    
    /** cnonce key */
    public static final String AUTHORIZATION_CNONCE_KEY = "cnonce";
    
    /** nc key */
    public static final String AUTHORIZATION_NC_KEY = "nc";
    
    /** response key */
    public static final String AUTHORIZATION_RESPONSE_KEY = "response";
    
    /** 控制存储nonce的最大上限 */
    public static final String NONCE_CACHE_MAX = "10000";
}
